/*
*
==============================================================================
*  Name        : 
*  Part of     : Omen Game Engine
*  Description : 
*  Version     : 1.0
*
*  Copyright (c) 2013 Lauri Kortevaara.
* 
==============================================================================
*/

#pragma once

/// Omen headers
#include "OmenConfig.h"
#include <IOmenScene.h>

/// STL headers
#include <string>

namespace Omen
{
    class OMEN_API IModelFileReader
    {
    public:
        virtual bool canRead( const std::wstring& filename ) = 0;                    /// <summary>Returns true if this reader can read the given file</summary>
        virtual bool loadFile() = 0;                                                /// <summary>Reads the contents of the model file</summary>

        virtual unsigned long getSceneCount() const = 0;                                        /// <summary>Get number of Scenes in the model-file</summary>
        virtual bool getScenes( IScene** const& pListScenes, unsigned int maxSize ) const = 0; /// <summary>Get the Scenes</summary>

    protected:
    private:
    };
}
